<%@page contentType="text/html" pageEncoding="UTF-8" errorPage="erro.jsp"%>
<%@page import="java.sql.*, bd.ConexaoBD,beans.BeanUsuario"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

    <jsp:useBean id="usuario" class="beans.BeanUsuario">
        <jsp:setProperty name="usuario" property="*"></jsp:setProperty>
    </jsp:useBean>
       
<%
    if(!usuario.estaValido()){
%>
    <jsp:forward page="erro.jsp">
        <jsp:param name="erro" value="É necessário que todos os campos sejam preenchidos. Favor corrigir."></jsp:param>
    </jsp:forward>
<%        
    } else if (usuario.getEmail().length() > 20){
    %>
    <jsp:forward page="erro.jsp">
        <jsp:param name="erro" value="O e-mail não pode ter mais de 20 caracteres. Favor corrigir."></jsp:param>
    </jsp:forward>
<% 
    }else{
              
          ConexaoBD connBD = new ConexaoBD();        
          try {            
            //conecta ao banco
            Connection conn = connBD.getConexao();
            Statement stmt = (Statement) conn.createStatement();
            //se usuário já existe no banco, informa ao usuário para escolher outro
            ResultSet rs = stmt.executeQuery("SELECT * FROM usuario WHERE email = '" + usuario.getEmail() + "'");
            if (rs.next()) {
               %>
               <jsp:forward page="erro.jsp">
                 <jsp:param name="erro" value="Email j&aacute; est&aacute; em uso. Favor digitar outro."></jsp:param>
               </jsp:forward>
            <% 
            }
            else{// se todos os dados válidos e e-mail ainda não cadastrado, insere usuário no banco e 
                //mostra mensagem de sucesso
            int rs1 = stmt.executeUpdate("INSERT INTO usuario(email, nome, idade, endereco, telefone) " 
                    + "VALUES ('" + usuario.getEmail() + "','"+ usuario.getNome() + "','" + usuario.getIdade()
                    + "','" + usuario.getEndereco() + "','" + usuario.getTelefone() + "');");                 
            %>
            <html>                
                <head>
                    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                    <link rel="stylesheet" type="text/css" href="estilo.css"/>
                    <title>Cadastro realizado com sucesso!</title>
                </head>
                <body>
                  <div id="cabecalho">
                  <%@include file="cabecalho.jsp"%>
                  </div>
                  <div id ="mensagem">
                   <form class="mensagem">
                    <h1>Dados do usuário <i><%=usuario.getNome()%></i> cadastrados com sucesso!</h1>
                    <a href="index.jsp">Voltar</a>
                   </form>
                  </div>   
                  <div id="rodape">
                      <%@include file="rodape.jsp"%>
                  </div>
                </body>
            </html> 
            <%
            }            
          } catch (Exception e) { // se tiver exceção, retorna para login com msg de erro
            System.err.println("Erro inserção Usuário: " + e.getMessage());
            %>
               <jsp:forward page="erro.jsp">
                 <jsp:param name="erro" value="Erro de acesso ao banco. Tente mais tarde."></jsp:param>
               </jsp:forward>
            <% 
	  } finally {		
            connBD.fecharConexao();
	  }
       }
%>

